package com.aiyige.model.tag;

import com.google.gson.JsonObject;

/**
 * Created by zhuyakun on 2018/1/19.
 */

public class UserTagRecord {
    String id;
    String tagId;
    String tagName;
    String groupType;
    String creator;
    Long count;
    Long createTime;
    JsonObject tagBackup;

    public UserTagRecord() {
    }

    private UserTagRecord(Builder builder) {
        setId(builder.id);
        setTagId(builder.tagId);
        setTagName(builder.tagName);
        setGroupType(builder.groupType);
        setCreator(builder.creator);
        setCount(builder.count);
        setCreateTime(builder.createTime);
        setTagBackup(builder.tagBackup);
    }

    public static Builder newBuilder() {
        return new Builder();
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getTagId() {
        return tagId;
    }

    public void setTagId(String tagId) {
        this.tagId = tagId;
    }

    public String getTagName() {
        return tagName;
    }

    public void setTagName(String tagName) {
        this.tagName = tagName;
    }

    public String getGroupType() {
        return groupType;
    }

    public void setGroupType(String groupType) {
        this.groupType = groupType;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public Long getCount() {
        return count;
    }

    public void setCount(Long count) {
        this.count = count;
    }

    public Long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Long createTime) {
        this.createTime = createTime;
    }

    public JsonObject getTagBackup() {
        return tagBackup;
    }

    public void setTagBackup(JsonObject tagBackup) {
        this.tagBackup = tagBackup;
    }

    public static final class Builder {
        private String id;
        private String tagId;
        private String tagName;
        private String groupType;
        private String creator;
        private Long count;
        private Long createTime;
        private JsonObject tagBackup;

        private Builder() {
        }

        public Builder id(String id) {
            this.id = id;
            return this;
        }

        public Builder tagId(String tagId) {
            this.tagId = tagId;
            return this;
        }

        public Builder tagName(String tagName) {
            this.tagName = tagName;
            return this;
        }

        public Builder groupType(String groupType) {
            this.groupType = groupType;
            return this;
        }

        public Builder creator(String creator) {
            this.creator = creator;
            return this;
        }

        public Builder count(Long count) {
            this.count = count;
            return this;
        }

        public Builder createTime(Long createTime) {
            this.createTime = createTime;
            return this;
        }

        public Builder tagBackup(JsonObject tagBackup) {
            this.tagBackup = tagBackup;
            return this;
        }

        public UserTagRecord build() {
            return new UserTagRecord(this);
        }
    }
}
